﻿//#include <iostream>
//using namespace std;
//class cat
//{
//public:
//	void setcat(string name, int weight)
//	{
//		m_name = name;
//		m_weight = weight;
//	}
//	string getname()
//	{
//		return m_name;
//	}
//	int getweight()
//	{
//		return m_weight;
//	}
//private:
//	string m_name;
//	int m_weight;
//};
//int main()
//{
//	cat set[100];
//	int t;
//	cin >> t;
//	string name;
//	int weight;
//	for (int i = 0; i < t; i++)
//	{
//		cin >> name >> weight;
//		set[i].setcat(name, weight);
//		set[i].getname();
//		set[i].getweight();
//	}
//	int min = 0;
//	for (int i = 0; i < t; i++)
//	{
//		for (int j = 0; j < t - i - 1; j++)
//		{
//			if (set[j].getweight() > set[j+1].getweight())
//			{
//				cat temp = set[j];
//				set[j]= set[j+1];
//				set[j+1]= temp;
//			}
//		}
//	}
//	for (int i = 0; i < t; i++)
//	{
//		cout << set[i].getname() << endl;
//	}
//	return 0;
//	
//
//	
//}
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
//类定义 类实现
class circle
{
public:
	void set1(int r)
	{
		_r = r;
	}
	void print()
	{
		double length = 2 * 3.14 * _r;
		double s = 3.14 * _r * _r;
		cout << fixed << setprecision(2) << s << " " << fixed << setprecision(2) << length << endl;
	}
private:
	int _r;
};
class point
{
public:
	void set2(int x,int y,int x1, int y1)
	{
		_x = x, _y = y; _x1 = x1; _y1 = y1;
	}
	void contain( point)
	{
		double h = sqrt((_x1 - _x) * (_x1 - _x) + (_y1 - _y) * (_y1 - _y));
		if (h <= _r)
		{
			cout << "yes" << endl;
		}
		else
		{
			cout << "no" << endl;
		}
	}
private:
	int _x, _y, _x1, _y1, _r;
};
//主函数
int main()
{
	int x, y, r;
	cin >> r;
	circle circle1;
	circle1.set1(r);
	circle1.print();
	int x1, y1;
	point point1;
	cin >> x >> y >> x1 >> y1;
	point1.set2(x,y,x1, y1);
	point1.contain(point1);
	return 0;
}
